Object - Oriented Nets with Algebraic Speci cations : The CO - OPN / 2 Formalism ?
نویسنده
چکیده
Class C-User; Interface Use Coord, Size, Angle, Privilege, Ownership; Type c-user; Methods join _ : privilege; leave; select _ : coord; unselect; go-down; go-back; delete; move _ : coord; resize _ : size; rotate _ : angle; own-for _ : ownership; Body Use Unique, C-Viewport; Places idle _ , active _ : unique; cur-vp _ : c-viewport; Initial idle @; Axioms join pr with v.(self join pr) :: idle @ -> active @,cur-vp v; leave with v.leave :: active @,cur-vp v -> idle @; select p with v.select p :: active @,cur-vp v -> active @,cur-vp v; move p with v.move p :: active @,cur-vp v -> active @,cur-vp v; own-for os with v.own-for os:: active @,cur-vp v -> active @,cur-vp v; where p : coord; v : c-viewport; pr : privilege; os : ownership; ;; ... and more axioms ... End C-User; Spec. 12: The Cooperative Users. and rotate methods are used to modify aspects of selected components. The own-for method represents the user's will to own a component for a given ownership. The instance variables (Places eld) are involved in the behavioral axioms which describe the properties of the methods. For instance, the behavioral axiom join pr with v.(self join pr) :: idle @ -> active @, cur-vp v indicates that the join method is asking to be synchronized with the join method for the privilege pr of an available existing viewport v. The user has to be idle and will become active. Moreover, the free variable v will be uni ed with an available existing viewport and memorized by the current viewport attribute (cur-vp v). The self-reference self informs the viewport of the identity of the user who wants to be connected to it. The viewport will store this object identi er in order to know what connection has been established. The role of the method select is the transmission of the user's will to select an existing component at a given position p to the current viewport v. The same remark holds true for the other methods. Figure 19 provides a partial graphic view of the C-User class. Note that for the sake of clarity not all the methods have been represented. In order to obtain an e ective class of users which may be involved in a hierarchical Petri net editor we make use of inheritance. In Speci cation 13 one may see the inheriting class PN-C-User which inherits from the class C-User as declared under the Inherit eld. In this situation some renamings, declared
منابع مشابه
A Formal Specification Framework for Object-Oriented Distributed Systems
ÐIn this paper, we present the Concurrent Object-Oriented Petri Nets (CO-OPN/2) formalism devised to support the specification of large distributed systems. Our approach is based on two underlying formalisms: order-sorted algebra and algebraic Petri nets. With respect to the lack of structuring capabilities of Petri nets, CO-OPN/2 has adopted the object-oriented paradigm. In this hybrid approac...
متن کاملCo-opn/2: a Concurrent Object-oriented Formalism
In this article we present the concurrent object-oriented speciication language CO-OPN/2 which extends the CO-OPN (Concurrent Object Oriented Petri Nets) formalism, destined to support the speciication of large distributed systems. The CO-OPN/2 approach proposes a speciication language, based on the object-oriented paradigm, which includes a ne description of true concurrent behavior. This hybr...
متن کاملExploiting Various Levels of Semantics in CO-OPN for the SANDS Environment Tools
This paper describes the techniques and tools developed to support the construction of CO-OPN specifications (Concurrent Object Oriented Petri Nets) [7] and the kind of semantics that are needed for each part of the environment. CO-OPN is a specification language which permits an abstract description of aspects of concurrent operations and data-structures of computer programs. The concurrent an...
متن کاملStructured Algebraic Nets with Object-Orientation
The aim of this paper is to brieey introduce the Concurrent Object-Oriented Petri Net speciication language CO-OPN/2 which has overcome some limitations of its object-based ancestor CO-OPN. Classes are described by means of algebraic nets in which places play the role of attributes, and methods function as external parameterized transitions. Inheritance and sub-typing are distinguished, with th...
متن کاملUsing Object-Oriented Algebraic Nets for the Reverse Engineering of Java Programs: A Case Study
CO-OPN/2 speci cation of the application to develop, and (2) a set of properties that have to be satis ed by the speci cation. These properties should be expressed by the means of a temporal logic and are intended to be preserved during the re nement process. Several re nement steps are performed. At each re nement step both the speci cation and the properties are re ned. In addition the proper...
متن کاملUsing the COOPN / 2 Formal Method for Groupware Systems Engineering #
A BSTRACT . COOPN/2 (Concurrent Object Oriented Petri Nets) is an object-oriented specification formalism based on Petri Nets and algebraic specifications. It is fully adapted to the specification of complex concurrent systems because it inherits the advantages of algebraic specifications for the specification of abstract data types, from Petri nets to describe partially ordered events and from...
متن کامل